package demo1;

public class Test {

    public static void main(String[] args) {
        Student[] students = new Student[3];

        students[0] = new Student("zhangsan",10,23);
        students[1] = new Student("haha",12,24);
        students[2] = new Student("jishi",13,23);


    }



}
//compara
class Student {
    public String name;
    public int age;
    public int score;

    public Student(String name, int age, int score) {
        this.name = name;
        this.age = age;
        this.score = score;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", score=" + score +
                '}';
    }
}







//空接口，就是标记接口，表示当前接口可以克隆。但是如果需要调用克隆方法，则需要在generate
//中重写父类的object方法
//object是所有类的父类，哪怕你写的类没有表明继承自object，也默认继承自object
//需要重写object的克隆方法，之后便可以调用克隆方法了

//克隆之后的返回值是object，在接收克隆后的返回值的时候，需要强制转换？？？？


//异常
// 编译异常
// 运行异常  NullPointerException
// 编译时报的异常


//深拷贝  实现cloneable接口
//super.clone()

//抽象类和接口的区别是什么
//抽象类可以包含普通方法和普通字段


